package map.oj;

import java.util.HashMap;
import java.util.Map;

public class Num387 {
    /**
     * 先把集合存到map中，然后遍历字符串，把第一个只出现一次的字符的下标返回
     */
    public int firstUniqChar(String s) {
        if(s == null){
            return -1;
        }
        Map<Character,Integer> map = new HashMap<>();
        for (int i = 0;i < s.length(); i++){
            char ch = s.charAt(i);
            int count = map.getOrDefault(ch,0) + 1;
            map.put(ch,count);
        }
        for (int i = 0; i < s.length(); i++) {
            if(map.get(s.charAt(i)) == 1){
                return i;
            }
        }
        return -1;
    }
}
